home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8609.d64
/
demo 2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
3KB
|
180 lines
1000 REM ******************************
1010 REM ****** ******
1020 REM *** ZEICHENRdINEN ***
1030 REM *** ZU d COLOSSAL ***
1040 REM ****** ******
1050 REM ******************************
1060 REM
1070 REM
1080 REM (C) 1/86 BY
1090 REM F.GRAEF
1100 REM 6831 PLANKSTADT
1110 REM
1120 :
1130 SYS 52225,0
1140 :
1150 REM ------ SCHIRME LOESCHEN -----
1160 :
1170 FOR I=1 TO 4
1180 : SYS 52225,1,I
1190 : d 0,12
1200 : do 10,10,""+STR$(I),1,2,12
1210 NEXT I
1220 :
1230 REM MAX. AUFLOESUNG AUF 1 SCHIRM
1240 REM d 320/200. BEI d
1250 REM 160/200. M=ZEICHENTYP.
1260 :
1270 AX=320:AY=200:M=1
1280 :
1290 :
1300 X1=300:Y1=20:X2=360:Y2=40
1310 d3 dYIE
1320 :
1330 X1=100:Y1=190:R=20
1340 d3 KREIS
1350 :
1360 X1=290:Y1=180:X2=360:Y2=250
1370 d3 BOX
1380 :
1390 REM MIT 1,2,3,4 KOENNEN DIE
1400 REM VERSCHIEDENEN SCHIRME AN-
1410 REM GESEHEN WERDEN.
1420 :
1430 d1 TASTEN
1440 :
1450 GET A$
1460 A=VAL(A$)
1470 IF A=0 THEN d2 TASTEN
1480 :
1490 IF A<1 THEN A=1
1500 IF A>4 THEN A=4
1510 :
1520 SYS 52225,1,A
1530 :
1540 d2 TASTEN
1550 :
1560 :
1570 REM ******************************
1580 REM ****** ******
1590 REM *** PUNKT X,Y,M ***
1600 REM ****** ******
1610 REM ******************************
1620 :
1630 d1 PUNKT
1640 :
1650 dE XX,YY,A
1660 d3 PUNKT1
1670 d.
1680 :
1690 d4
1700 :
1710 :
1720 d1 PUNKT1
1730 :
1740 A=1:XX=INT(X):YY=INT(Y)
1750 IF XX>AX-1 THEN A=A+1:XX=X-AX
1760 IF YY>AY-1 THEN A=A+2:YY=Y-AY
1770 :
1780 IF PEEK(52280)<>ATHEN SYS52225,1,A
1790 REM IN 52280 STEHT DIE AKTUELLE
1800 REM SCHIRMNUMMER DES ANZEIGE-
1810 REM SPEICHERS.
1820 :
1830 d XX,YY,M
1840 :
1850 d4
1860 :
1870 REM ******************************
1880 REM **** ****
1890 REM ** dYIE X1,Y1,X2,Y2,M **
1900 REM **** ****
1910 REM ******************************
1920 :
1930 d1 dYIE
1940 :
1950 dE XD,YD,SR,XX,YY,A
1960 d3 dYIE3
1970 d.
1980 :
1990 d4
2000 :
2010 :
2020 d1 dYIE3
2030 :
2040 XD=(X2-X1):YD=(Y2-Y1)
2050 IF ABS(XD)<ABS(YD)THEN d2 dYIE2
2060 :
2070 REM ----------- dYIE1 -----------
2080 :
2090 SR=YD/ABS(XD)
2100 Y=Y1
2110 FOR X=X1 TO X2 STEP (XD/ABS(XD))
2120 : Y=Y+SR
2130 : d3 PUNKT1
2140 NEXT X
2150 :
2160 d4
2170 :
2180 REM ----------- dYIE2 -----------
2190 :
2200 d1 dYIE2
2210 :
2220 SR=XD/ABS(YD)
2230 X=X1
2240 FOR Y=Y1 TO Y2 STEP (YD/ABS(YD))
2250 : X=X+SR
2260 : d3 PUNKT1
2270 NEXT Y
2280 :
2290 d4
2300 :
2310 REM *****************************
2320 REM ****** ******
2330 REM *** KREIS X1,Y1,R,M ***
2340 REM ****** ******
2350 REM *****************************
2360 :
2370 d1 KREIS
2380 :
2390 dE U,C,S,X,Y,XX,YY,A
2400 :
2410 U=R*(null)/4
2420 :
2430 FOR I=(null)/4 TO (null)/2 STEP (null)/4/U
2440 : C=COS(I)*R:S=SIN(I)*R
2450 : X=X1+C:Y=Y1+S:d3 PUNKT1
2460 : X=X1+C:Y=Y1+S:d3 PUNKT1
2470 : X=X1+S:Y=Y1+C:d3 PUNKT1
2480 : X=X1+S:Y=Y1-C:d3 PUNKT1
2490 : X=X1+C:Y=Y1-S:d3 PUNKT1
2500 : X=X1-C:Y=Y1-S:d3 PUNKT1
2510 : X=X1-S:Y=Y1-C:d3 PUNKT1
2520 : X=X1-S:Y=Y1+C:d3 PUNKT1
2530 : X=X1-C:Y=Y1+S:d3 PUNKT1
2540 NEXT I
2550 :
2560 d.
2570 d4
2580 :
2590 REM *****************************
2600 REM ***** *****
2610 REM *** BOX X1,Y1,X2,Y2,M ***
2620 REM ***** *****
2630 REM *****************************
2640 :
2650 d1 BOX
2660 :
2670 dE A1,B1,A2,B2,XD,YD,SR,XX,YY,A
2680 :
2690 A1=X1:A2=X2
2700 B1=Y1:B2=Y2
2710 :
2720 Y2=B1:d3 dYIE3
2730 Y2=B2:X2=A1:d3 dYIE3
2740 X1=A2:Y1=B2:d3 dYIE3
2750 X2=A2:Y2=B1:d3 dYIE3
2760 :
2770 d.
2780 d4